package 第二十章项目.clothesSystem.ui;

import 第二十章项目.clothesSystem.bean.Clothes;
import 第二十章项目.clothesSystem.service.ClothesService;
import 第二十章项目.clothesSystem.service.impl.ClothesServiceImpl;
import 第二十章项目.clothesSystem.utils.ConsolePrinter;

import java.lang.reflect.Field;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class HomeClass extends BaseClass{
    public void show(){
        //展示产品库存表
        showlist();
        //欢迎登入用户
        println(MessageFormat.format(getString("home.welcome"),"\n",currUser.getUsername().toUpperCase()));
        //
        Boolean flag=true;
        while(flag){
            print(getString("home.select"));
            String select =input.nextLine();
            switch (select){
                //查询全部订单
                case "1":
                    break;
                //查询单次订单
                case "2":
                    break;
                //购买产品
                case"3":
                    break;
                case"exit":
                    System.exit(0);
                    break;
                default:
                    println(getString("home.select.default"));
                    break;
            }
        }

    }
    public void showlist(){
        ClothesService cs=new ClothesServiceImpl();
        ConsolePrinter cp=new ConsolePrinter();
        List<String> headlist=new ArrayList<>();
        List<Clothes> datalist = cs.list();
        //字段数组 declaredFields 存放 shellofclothes 所有字段
        Field[] declaredFields = Clothes.class.getDeclaredFields();
        headlist = Arrays.stream(declaredFields).map(Field::getName).collect(Collectors.toList());
        //////////////////////////////////////////////////////////////////////////////////////
        String [] heads=headlist.toArray(new String[0]);
        String [][] data=datalist.stream().map(Clothes::toString_split).map(str ->str.split(",")).toArray(String[][]::new);
        cp.printTable(heads,data);
    }
}
